//
//  User.swift
//  sinaDemo
//
//  Created by mac on 15/12/18.
//  Copyright © 2015年 zhouxubin. All rights reserved.
//

import UIKit

class User: NSObject {
    // 用户id
    var id: Int64 = 0
    
    // 友好显示名称
    var name: String?
    
    // 用户头像地址小图
    var profile_image_url: String?
    
    // 用户头像的url,计算型属性
    var userIconUrl: NSURL? {
        get {
            return NSURL(string: profile_image_url ?? "")
        }
    }
    
    // 认证类型，-1：没有认证，0，认证用户，2,3,5: 企业认证，220: 达人
    var verified_type: Int = -1
    // 可以根据认证类型直接返回图片,而不用再在外面判断了
    var verified_type_image: UIImage? {
        switch verified_type {
        case -1: return nil
        case 0: return UIImage(named: "avatar_vip")
        case 2,3,5: return UIImage(named: "avatar_enterprise_vip")
        case 220: return UIImage(named: "avatar_grassroot")
        default: return nil
        }
    }
    
    // 会员等级
    var mbrank: Int = 0
    
    var mbrank_image: UIImage? {
        // 判断是否大于0
        if mbrank > 0 && mbrank < 7 {
            return UIImage(named: "common_icon_membership_level\(mbrank)")
        }
        // 如果不满足就返回空,说明没有会员
        return nil
    }
    
    // 字典转模型的构造方法
    init(dict: [String : AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    // 过滤掉没有的属性
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
    // 重写descirption方法
    override var description: String {
        let keys = ["id","name","profile_image_url","mbrank","verified_type"]
        return dictionaryWithValuesForKeys(keys).description
    }
    
}
